#ifndef PROJECTILE_H
#define PROJECTILE_H

#include <allegro5\allegro5.h>
#include "Movables.h"
#include "GlobalVariables.h"
#include "Map.h"
#include "Point.h"
#include "Utilities.h"

/*! \Class Projectile
	\brief A derived class of Movables containing the implementation of the projectile fired by digdug.

*/

class Projectile: public Movables{

public:
	Projectile(Point& location); //constructor
	Projectile(){}

	virtual DetectionResult move(Map &map);	
	
	DetectionResult initializeShot(Direction direction, Point& digdug_location, int digdug_radius, Map& map);
	void shoot(bool set); //!< Set _is_moving data member to true if an instruction to move is given
	bool isShooting(); //!< Get status of projectile. return true if projectile is shooting

private:
	bool _is_shooting;
	virtual DetectionResult collisionCheck(Movable_type position_type) const;
};

#endif